// 引入路由文件这种的公共路由
import { constantRoutes } from '../router';
// Layout 组件是项目中的主页面，切换路由时，仅切换Layout中的组件
import Layout from '@/layout';
const res = []
export function getAsyncRoutes(routes) {
    // 定义路由中需要的自定名
    const keys = ['path', 'name', 'title','children', 'redirect', 'meta', 'hidden']
    // 遍历路由数组去重组可用的路由
    routes.forEach(item => {
        const newItem = {};
        if (item.component) {
			newItem.path=item.path
			newItem.meta={
				title:item.title,
				showFooter:item.type
			}
            newItem.component = resolve => require([`@/views/${item.component}`],resolve)
            res.push(newItem)
        }
		for (const key in item) {
		    if (keys.includes(key)) {
		        newItem[key] = item[key]
		    }
		}
        // 若遍历的当前路由存在子路由，需要对子路由进行递归遍历
        if (newItem.children && newItem.children.length) {
            getAsyncRoutes(item.children)
        }
		
    })
    // 返回处理好且可用的路由数组
    return res
}